package com.example.study2.ClassDefinitionAndUsage.Methods;

/**
 * 静态方法示例
 * 静态方法属于类本身的方法，而不是类的实例（对象）的方法。
 * 使用 static 关键字定义。
 * 可以通过类名直接调用，而不需要创建类的对象
 * 静态方法不能直接访问实例字段或实例方法，因为它们依赖于对象的状态。只能访问静态字段和静态方法。
 * 静态方法中不能使用 this 关键字，因为 this 指向当前对象，而静态方法不依赖于对象。
 */
public class MathUtil {
    /**
     * 静态方法 - 计算两个整数的和
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的和
     */
    public static int add(int a, int b) {
        return a + b;  // 静态方法只能访问静态字段或参数
    }

    /**
     * 静态方法 - 计算两个整数的乘积
     * @param a 第一个整数
     * @param b 第二个整数
     * @return 两个整数的乘积
     */
    public static int multiply(int a, int b) {
        return a * b;
    }

    // 静态字段
    public static String OPERATION = "Math Operation";

    public static void main(String[] args) {
        // 通过类名直接调用静态方法
        int sum = MathUtil.add(5, 3);
        int product = MathUtil.multiply(4, 6);

        System.out.println("Sum: " + sum);           // 输出：Sum: 8
        System.out.println("Product: " + product);   // 输出：Product: 24
        System.out.println("Operation: " + MathUtil.OPERATION); // 输出静态字段,Operation: Math Operation
    }
}
